# https://leetcode.cn/problems/valid-mountain-array/

from typing import List

class Solution:
    def 构成山形(self, 地形):
        前山, 后山 = 0, len(地形) - 1
        while 前山 + 1 < len(地形) - 1 and 地形[前山] < 地形[前山 + 1]: 前山 += 1
        while 后山 - 1 > 0 and 地形[后山] < 地形[后山 - 1]: 后山 -= 1
        return 前山 == 后山


s = Solution()
assert(not s.构成山形([2,1]))

assert(not s.构成山形([3,5,5]))
assert(s.构成山形([0,3,2,1]))
assert(not s.构成山形([0,1,2,3]))

assert(not s.构成山形([0,2,3,2,5,2,1]))
assert(not s.构成山形([3,6,5,6,7,6,5,3,0]))
assert(not s.构成山形([3,7,6,4,3,0,1,0]))